Import('env')
Import('options')
env = env.Copy()

sourceFiles = [
    'intern/GHOST_Buttons.cpp',
    'intern/GHOST_C-api.cpp',
    'intern/GHOST_CallbackEventConsumer.cpp',
    'intern/GHOST_DisplayManager.cpp',
    'intern/GHOST_EventManager.cpp',
    'intern/GHOST_EventPrinter.cpp',
    'intern/GHOST_ISystem.cpp',
    'intern/GHOST_ModifierKeys.cpp',
    'intern/GHOST_Rect.cpp',
    'intern/GHOST_System.cpp',
    'intern/GHOST_TimerManager.cpp',
    'intern/GHOST_Window.cpp',
    'intern/GHOST_WindowManager.cpp',
]

WINDOW_SYSTEM = env['WINDOW_SYSTEM']
if WINDOW_SYSTEM == 'x11':
    sourceFiles.extend([
        'intern/GHOST_DisplayManagerX11.cpp',
        'intern/GHOST_SystemX11.cpp',
        'intern/GHOST_WindowX11.cpp',
    ])
elif WINDOW_SYSTEM == 'win32':
    sourceFiles.extend([
        'intern/GHOST_DisplayManagerWin32.cpp',
        'intern/GHOST_SystemWin32.cpp',
        'intern/GHOST_WindowWin32.cpp',
    ])
elif WINDOW_SYSTEM == 'carbon':
    sourceFiles.extend([
        'intern/GHOST_DisplayManagerCarbon.cpp',
        'intern/GHOST_SystemCarbon.cpp',
        'intern/GHOST_WindowCarbon.cpp',
    ])
else:
    # XXX: is this the proper way of killing a build?
    raise 'Unknown windowing system'

env.Append(CPPPATH=['../ghost', '../string'])
env.Library(target='#$BUILD_DIR/lib/blender_ghost', source=sourceFiles)
